package main

func main() {
	//除了使用简单的发送和接收操作符外，还可以用ok-idom 或range模式处理数据
	done := make(chan struct{})
	c := make(chan int)

	go func() {
		defer close(done)
		for{
			x,ok :=  <-c
			if !ok {
				return
			}
			println(x)
		}
	}()

	c <- 1
	c <- 2
	c <- 3
	<- done
}
